package com.ruoyi.system.service;

import java.util.Date;
import java.util.List;
import com.ruoyi.system.domain.CrmJob;

/**
 * 【请填写功能名称】Service接口
 * 
 * @author ruoyi
 * @date 2020-10-12
 */
public interface ICrmJobService 
{
    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    public CrmJob selectCrmJobById(Long id);

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param crmJob 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<CrmJob> selectCrmJobList(CrmJob crmJob);

    /**
     * 新增【请填写功能名称】
     * 
     * @param crmJob 【请填写功能名称】
     * @return 结果
     */
    public int insertCrmJob(CrmJob crmJob);

    /**
     * 修改【请填写功能名称】
     * 
     * @param crmJob 【请填写功能名称】
     * @return 结果
     */
    public int updateCrmJob(CrmJob crmJob);

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的【请填写功能名称】ID
     * @return 结果
     */
    public int deleteCrmJobByIds(Long[] ids);

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】ID
     * @return 结果
     */
    public int deleteCrmJobById(Long id);

    /**
     * 删除事件同时删除记录
     * @param id
     * @return
     */
    public int deleteCrmJobAndLogById(Long id);

    /**
     * 根据客户查询关联的事件
     * @param customerId
     * @return
     */
    public List<CrmJob> getJobByCustomer(Long customerId);

    /**
     * 将客户相关的任务  移除客户关系
     * @param customerId
     * @return
     */
    public int deleteCustomerAboutJob(Long customerId);


    /**
     *今天的代办
     * @return
     */
    public List<CrmJob> selectCrmJobByToday(String searchValue,Long userId);


    /**
     *今天提醒的的代办
     * @return
     */
    public List<CrmJob> selectCrmJobByTodayNotice(Long userId);

    /**
     *n分钟内要提醒的的代办
     * @return
     */
    public List<CrmJob> selectCrmJobByMinuteNotice(Long userId,Integer n);

    /**
     *明天及以后
     * @return
     */
    public List<CrmJob> selectCrmJobByNextDay(String searchValue,Long userId);

    /**
     *历史
     * @return
     */
    public List<CrmJob> selectCrmJobByPreDay(String searchValue,Long userId);


    /**
     *根据日期来查看某天的事件
     * @return
     */
    public List<CrmJob>  selectCrmJobByDay(Date date, Long userId);
}
